小洛:今年1月底Jasmine找到我的时候,她在研究院工作,虽然已经自学了一段时间的数据分析,但对于转行却心有忐忑。基于之前在「因果推断学习小组」建立的信任,我决定尽力帮助她。从简历到面试到offer谈判,历经2个多月的辛苦,我们的努力最终换来了满意的结果,Jasmine拿到了多家头部互联网offer。希望她的转行经验与准备过程,可以给到大家一个借鉴与帮助。
大家好,我是Jasmine,最近零经验求职互联网数据分析相关岗位,在小洛的帮助下拿到了头部大厂offer,这篇文章就来细细分享一下我的转行历程,希望能给在路上的小伙伴一点参考。
我的本科和硕士专业均为传统工科,目前硕士毕业不到一年。本科毕业于某世一大,研究生和工作都在京郊的一家研究院,没有互联网行业的从业经历。从专业背景来说,数理基础部分的能力比较容易迁移到数据分析方向,加之我自己也比较想从事业务和技术结合的工种,所以初步定位的求职方向是数据分析。
通过咨询朋友前辈和浏览网络公开资料,我大致制定了转行技能学习计划,主要是快速学习数据分析求职面试需要的硬技能,包括SQL、Python的数据分析相关库、机器学习算法、简单的业务思维,同时整个过程也在关注互联网行业的相关资讯。主要分为三个部分,基础学习、OJ刷题、面试常见题型练习。基础学习主要是过了一遍《MySQL必知必会》,然后直接上牛客在线刷题,整个过了一遍之后差不多有整体的了解和概念。过程中穿插学习窗口函数、行转列等经典语句,之后练习力扣的SQL题库。在面试前夕,集中了解几类面试常见题型,和业务结合紧密但如果第一次见可能会比较难写,包括TopN问题、连续登陆天数、留存率计算等。除了练习手写题目之外,还要了解一些基本概念,例如union和union all的区别、sort by和order by的区别。这部分我的经验教训是,sql练习是学习初期集中完成的,没能长期坚持每天练习几道题,后期忙于准备面试也没有足够的时间充分练习,导致面试时写得不是很熟练,特别是我的面试历程还穿插了过年假期,一段时间的放松也对面试状态有影响。所以对于学习战线比较长、没有客观条件练习的同学,建议日常坚持练习保持手感。《Python编程:从入门到实践》通过这本书快速了解Python基本语法,包括数据类型、循环和判断语句、函数、类的写法,非常易读,跟着敲一遍示例代码和练习题即可。
《Python数据科学手册》涵盖了python基础语法(包括和其他编程语言的区别)、数据分析库的介绍、机器学习算法包的使用,这本书相对比较基础,Python数据科学相关的内容都有涉及,也有项目练习模块,比较适合新人入门。
《利用Python进行数据分析》作者是Pandas项目创始人,非常实用的数据分析库使用指南,但我自己看完第一本书之后直接看这本书有点不太好消化,可能主要还是这本书的语言叙述较为精炼所致,但有一些基础经验之后再看这本书会有很好的效果,里面有不少实用便捷的方法介绍和总结。
我的学习路线是:吴恩达机器学习课程、《机器学习实践》、《统计学习方法》+《机器学习》(西瓜书)、《百面机器学习》。吴恩达(Ng)的机器学习课程算是最基础的机器学习入门材料,里面的数学语言简洁易懂,Ng讲算法的思路清晰明了,非常适合理解算法底层最基本的思想,也适合新人学习。这门课是Coursera的第一门课,上传比较早,网上的资料非常多,都可以结合来看。
《机器学习实践》主要是讲解如何用Python的数据科学库来实践机器学习和深度学习,我只看了第一部分,也就是机器学习相关的内容,里面会涉及到使用Seaborn的模块进行特征工程、实现各种算法和Pipeline,也对常用机器学习算法有系统性、概括性的介绍,非常适合快速入门和上手。
《统计学习方法》和《机器学习》两本书主要是算法的基本理论介绍,在完成前两项的学习之后,考虑到时间紧张,我主要是选择之前遇到的几种常见算法和模型评估方法过了一遍。
《百面机器学习》是在群里被安利的一本书,写书的目的主要是帮助算法工程师,但里面和机器学习相关的问题都非常典型,在面试当中也很常见,适合看一看整理思路。
这部分没有固定的套路,可以看看《精益数据分析》这本书建立基本的概念,具体的业务主要看网络上公开的文章分享(比如小洛的公众号>_<)。同时在日常也多关注互联网和业界的相关资讯。
如果说技能准备相对比较明确的话,面试准备就有比较强的不确定性,但总体来说也有一定的规律,考察的内容其实小洛之前也分享过了,具体可以再看看《数据分析岗位面试准备请看这篇!》
我的面试主要在过年前后,平均每家公司面试次数在4~5次。在面试过程中,我准备了一系列面试文档,一边准备一边面试一边更新。面试文档分为5个部分:
自我分析,主要是提前准备好自我介绍,可能会问到的针对我个人的问题,比如肯定会问到我为什么想转行、为什么会选择数据分析方向,另外还可以准备下自己的优缺点、对互联网行业、数据分析岗位的认识、职业规划。简历项目经历的发掘,利用STAR原则介绍自己的项目,针对项目可能会问的问题提前准备。费米估算和常见智力题,费米估算要先自己学习一下估算方法,并且准备好基础数据,比如人口数据、面试公司所在行业相关的数据。常见的智力题可以在网上搜面经总结一下,比如烧绳问题、取数问题等等。公司面经,在获得某个公司的面试邀约之后,会先在网络上寻找该公司的面经作为面试准备的参考,当然这个经验更适用于初级岗位。
基础的业务分析框架,如RFM模型、用户行为分析、同期群分析、用户生命周期分析、用户画像等等
AB测试相关内容,流量分配、指标确定、样本量、持续时间等
指标体系搭建,准备大致的框架,在面试前根据业务或产品具体准备
指标异动分析
用户流失预警
某个业务/场景下的特征选择
衡量某个细分模块给平台带来的收益
业务分析是业务向数据分析师面试的重点,在了解分析方法论之外,还要根据面试岗位的具体业务和产品定向了解,以更好地应对面试官提出的问题。
3.3 统计学、数据开发
统计学基础,包括大数定律、中心极限定律的理解,常见概率分布,假设检验的原理及相关概念(如p值、两类错误和alpha、beta),贝叶斯原理等等。
因果推断基础,面试前期在小洛群的自学小组了解了常见的因果推断方法,例如PSM、DID,同时了解这些方法的使用场景。
面试常见SQL题类型整理,行转列、TopN问题、计算连续登陆天数、计算留存率,常见的时间处理函数等等。
整理机器学习思路的思维导图。因为机器学习涉及到很多方法,所以还是要用思维导图来理清整体的框架思路。整理各个方法的基本原理、适用场景、优缺点比较,这部分需要耗费的经历比较多,我自己也没有整理完,在面试过程中主要针对常见问题捋出来了两条路线:一个是模型评估的思路,另一个是决策树+随机森林+ AdaBoosting + GBDT + Xgboost + LightGBM。模型评估会涉及到欠拟合过拟合/偏差与方差、错误率与精度、精确率与召回率、F1 Score、ROC和AUC。
决策树相关的线路有比较大的提问空间,从简单算法到集成学习都有涉及,并且互相之间可以比较,也能够展现学习和思考的深度,例如信息熵/增益和基尼系数、预剪枝和后剪枝、bagging和boosting的区别、GBDT/ XGBoost/ LightGBM几种方法区别等等,都是需要搞清楚的问题。另外每个算法也有常见问题需要准备,例如 K-means 聚类分析的结果如何检验,PCA降维和特征选取的区别,逻辑回归和SVM的区别等。记录面试进程和时间
记录每次面试的过程,便于后续复盘和总结
整个面试准备的过程其实也就是完善这些文档的过程,面试前我几乎没有针对业务面试的准备,也是边面试边准备,所以早期面试节奏比较慢,等到基础内容准备完之后,后续就主要针对具体公司业务和产品准备,面试节奏也可以加快了。零经验同学在面试前一定要快速大量学习业务相关知识,并且准备好扎实的基本功,以弥补实操经验的欠缺。
总的来说,我从学习技能、准备项目、到投简历联系面试、面试和拿到offer,整个历程延续了有半年多的时间,中间也常常间歇性地焦虑,也被很多团队“不要没经验的候选人”直截了当拒绝,不过好在最终还是顺利完成了转型。整个历程中,我总结了几点经验与大家分享:
很多零经验转行的朋友都是单打独斗,工作环境、已有人脉都不一定和互联网行业有关系,所以要主动去寻找一线从业人员交流,以防自己蒙头前进不看方向,同时如果有一起转行的小伙伴也可以分享学习资料、互相打气。我自己在求职过程中,无论是前期准备还是内推面试、offer选择,都得到了互联网朋友非常大的帮助,在此也再次谢过这些朋友们。在做初步转行计划的时候就做好时间节奏的把握,前期准备的时间不能太长,否则很容易影响心态或者中途放弃,但也要留够时间,以免没准备好去面试被打击到。一般情况下,社招的朋友最好控制在几个月到半年的时间内。面试过程,最好能保持连贯的节奏和好的状态。我自己的面试间隔了春节,春节后的状态确实没有节前好,当然也跟我春节期间以为offer稳了放松心态有关系,但如果能够在一个比较连贯的时间内完成面试,还是建议一鼓作气地好。另外,约面试时间最好也要结合自己的情况,不要安排地过于密集,保持应对每个重要面试的良好状态,尽量不浪费每个面试机会。整个转行过程注定从心理到生理都不会轻松,在做出这个决定之前,就要做好各方面的准备,在过程中,尽量不患得患失,保持相对稳定的心态。另外,最好有个兜底的选择,也就是即使转行失败了,我还能有可以接受的退路,这样在过程中也不会过分地焦虑。最后,感谢小洛在求职过程中给我的巨大帮助,也祝愿其他想要转行的朋友们能得偿所愿!
Jasmine针对机器学习算法、业务分析、行业知识相关的准备非常充分,面试评价也反馈其虽然没有互联网的工作经验,但是对互联网行业知识,产品、策略、分析相关方法论均有一定程度了解,对于她的综合能力与学习能力给予了高度评价,这归功于其非常强的主动性、行动力与信息搜集能力。此外,Jasmine分享的系列面试文档也是一个非常好的面试准备方法,可以记录面试中的问题,复盘,充实知识库,并有条理的记录自己的面试历程,让自己更好掌控求职节奏。最后,祝福Jasmine在未来的工作中取得更好的成绩,也希望看到这篇文章的朋友们可以得到些许启发,求职顺利。